package br.com.comprasPublicas.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author helsen_rafael
 * @since 11/01/11
 */
@Entity
public class Cotacao implements Serializable  {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id_cotacao;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date data_emissao;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date data_vencimento;

    @Temporal(javax.persistence.TemporalType.TIME)
    private Date hora_vencimento;

    @Column(name="valor_total_cotacao")
    private double valor_totalCotacao;

    @Column (name="condicao_pagamento")
    private String condicao_pagamento;

    @Column (name="condicao_entrega")
    private String condicao_entrega;

    @Column (name="vendedor")
    private String vendedor;

    @OneToMany (mappedBy="cotacao", fetch=FetchType.LAZY)
    private Set<InclusaoPrecosCotacao> inclusao_precosCotacao;

    @Cascade(CascadeType.ALL)
    
    /**
     * @return the id_cotacao
     */
    public int getId_cotacao() {
        return id_cotacao;
    }

    /**
     * @param id_cotacao the id_cotacao to set
     */
    public void setId_cotacao(int id_cotacao) {
        this.id_cotacao = id_cotacao;
    }

    /**
     * @return the data_emissao
     */
    public Date getData_emissao() {
        return data_emissao;
    }

    /**
     * @param data_emissao the data_emissao to set
     */
    public void setData_emissao(Date data_emissao) {
        this.data_emissao = data_emissao;
    }

    /**
     * @return the data_vencimento
     */
    public Date getData_vencimento() {
        return data_vencimento;
    }

    /**
     * @param data_vencimento the data_vencimento to set
     */
    public void setData_vencimento(Date data_vencimento) {
        this.data_vencimento = data_vencimento;
    }

    

    /**
     * @return the valor_totalCotacao
     */
    public double getValor_totalCotacao() {
        return valor_totalCotacao;
    }

    /**
     * @param valor_totalCotacao the valor_totalCotacao to set
     */
    public void setValor_totalCotacao(double valor_totalCotacao) {
        this.valor_totalCotacao = valor_totalCotacao;
    }

    /**
     * @return the condicao_pagamento
     */
    public String getCondicao_pagamento() {
        return condicao_pagamento;
    }

    /**
     * @param condicao_pagamento the condicao_pagamento to set
     */
    public void setCondicao_pagamento(String condicao_pagamento) {
        this.condicao_pagamento = condicao_pagamento;
    }

    /**
     * @return the condicao_entrega
     */
    public String getCondicao_entrega() {
        return condicao_entrega;
    }

    /**
     * @param condicao_entrega the condicao_entrega to set
     */
    public void setCondicao_entrega(String condicao_entrega) {
        this.condicao_entrega = condicao_entrega;
    }

    /**
     * @return the inclusao_precosCotacao
     */
    public Set<InclusaoPrecosCotacao> getInclusao_precosCotacao() {
        return inclusao_precosCotacao;
    }

    /**
     * @param inclusao_precosCotacao the inclusao_precosCotacao to set
     */
    public void setInclusao_precosCotacao(Set<InclusaoPrecosCotacao> inclusao_precosCotacao) {
        this.inclusao_precosCotacao = inclusao_precosCotacao;
    }

    /**
     * @return the hora_vencimento
     */
    public Date getHora_vencimento() {
        return hora_vencimento;
    }

    /**
     * @param hora_vencimento the hora_vencimento to set
     */
    public void setHora_vencimento(Date hora_vencimento) {
        this.hora_vencimento = hora_vencimento;
    }

    /**
     * @return the vendedor
     */
    public String getVendedor() {
        return vendedor;
    }

    /**
     * @param vendedor the vendedor to set
     */
    public void setVendedor(String vendedor) {
        this.vendedor = vendedor;
    }
}
